<template>
  <el-timeline style="max-width: 100%">
    <!-- 使用 v-for 循环本地变量 timelineData -->
    <el-timeline-item 
      v-for="(item, index) in timelineData" 
      :key="index" 
      :timestamp="item.modifierDate" 
      placement="top">
      <el-card>
        <h4>{{ item.title }}</h4>
        <p>{{ item.notice }}</p>
        <p style="margin-left: 92%;">{{ item.createUser }}</p>
      </el-card>
    </el-timeline-item>
  </el-timeline>
</template>

<script>
// 导入API
import { getAnnoucements } from '../api/work.js'

export default {
  data() {
    return {
      timelineData: [] // 初始化为空数组
    };
  },
  mounted() {
    // 定义异步函数以获取数据
    const announcementList = async () => {
      try {
        const result = await getAnnoucements();
        if (result.data.code === 200) {
          this.timelineData = result.data.data; // 赋值数据给本地的 timelineData
        }
      } catch (error) {
        this.$message.error('无法获取公告列表，请联系管理员'); // 错误处理
      }
    };

    // 在 mounted 钩子中调用异步函数
    announcementList();
  }
};
</script>

<style scoped>
/* 自定义样式 */
.el-timeline {
  background-image: url(../assets/bg04.png); /* 确保路径正确 */
  background-size: cover; /* 背景图片自适应容器大小 */
  background-position: center; /* 背景居中 */
  background-repeat: no-repeat; /* 避免背景图重复 */
  padding: 20px; /* 给背景和内容增加一些内边距 */
}

.el-timeline-item {
  z-index: 0;
}

.el-card {
  background-color: rgba(255, 255, 255, 0.9); /* 增加透明度以显示背景图 */
  opacity: 0.6;
  color: black;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); /* 为卡片增加阴影 */
}

</style>
